﻿--数据库备份


--数据库还原



/******************************************表空间****************************************/
--查询表空间
select * from user_tablespaces where status = 0;
--创建表空间
--不允许在data目录创建tablespace，发现创建的tablespace的绝对路径包含data目录则报错
# mkdir -p D:\dmdbms\data\DAMENG\jjdata
# chown -R omm:dbgrp D:\dmdbms\data\DAMENG\jjdata
 create tablespace "TS_TESTDB1" 
 datafile 'D:\dmdbms\data\DAMENG\jjdata\TS_TESTDB1.DBF' 
 size 32 autoextend on maxsize 16777215 
 CACHE = NORMAL;

--删除表空间
--删除表空间前必须要删除该表空间下的所有数据库对象，否则无法删除。
drop tablespace if exists TS_TESTDB1;

/******************************************创建用户****************************************/
--用户
CREATE USER TEST_USER IDENTIFIED BY 111111111
 DEFAULT TABLESPACE TS_TESTDB1;
--为数据库指定默认的表空间
alter user TEST_USER default tablespace TS_TESTDB2;

/******************************************创建一个表格****************************************/
CREATE TABLE TABLE_TEST
(
ID integer NOT NULL,
VERSION integer NOT NULL,
DBTYPE VARCHAR2(600),
NOT CLUSTER PRIMARY KEY(ID));

COMMENT ON TABLE TABLE_TEST IS '数据库版本';
COMMENT ON COLUMN TABLE_TEST.ID IS '主键';
COMMENT ON COLUMN TABLE_TEST.VERSION IS '版本';
COMMENT ON COLUMN TABLE_TEST.DBTYPE IS '数据库类型';

/***********************************创建序列****************************************/
-- 创建序列
CREATE SEQUENCE TABLE_TEST_SEQ 
INCREMENT BY 1 --步长
START WITH 1 --起始值
MAXVALUE 9223372036854775807 --最大值
MINVALUE 1;--最小值

--下一个序列
select TABLE_TEST_SEQ.NEXTVAL;
--查询当前值
select TABLE_TEST_SEQ.CURRVAL;
--删除序列
drop sequence TABLE_TEST_SEQ;

/***********************************为表格添加一个字段****************************************/
alter table TABLE_TEST add(NAME2 VARCHAR2(100) );
comment on column TABLE_TEST.NAME2 is '名称2';
/****************************************更改字段名称******************************************/
alter table <表名> rename column <字段名> <字段新名称>
alter table TABLE_TEST rename column NAME2 to NAME3;
/*****************************************修改字段类型*****************************************/
alter table TABLE_TEST add(NAME4 integer );
alter table TABLE_TEST modify (NAME4 varchar(200) not null); 
/****************************************删除字段******************************************/
alter table TABLE_TEST drop column NAME3;
/*********************************************删除表********************************************/
drop table TABLE_TEST cascade constraints;

/***********************************创建用户****************************************/

/***********************************删除用户****************************************/

/***********************************修改用户****************************************/

/***********************************修改密码****************************************/

/***********************************赋予用户权限****************************************/

  ORGAN_ID                NUMBER,
  REMOVE_SIGN             CHAR(1) DEFAULT '0',
  CREATE_MAN                    NVARCHAR2(30),
  CREATE_TIME              DATE,
  UPDATE_MAN                   NVARCHAR2(30),
  UPDATE_TIME             DATE,

comment on column TABLE.ORGAN_ID is
'机构id';

comment on column TABLE.REMOVE_SIGN
  is '删除标志 0：未删除 1：删除 默认0';
  
comment on column TABLE.CREATE_MAN
  is '创建人';

comment on column TABLE.CREATE_TIME
  is '创建日期';
  
comment on column TABLE.UPDATE_MAN
  is '修改人';
  
comment on column TABLE.UPDATE_TIME
  is '修改日期';